*** Settings ***
Resource          ../resources/vehicle_control.resource
Resource          ../resources/adb_keywords.resource
Resource          ../resources/canoe_keyword.resource

*** Variables ***
${CANOE_CONFIG_PATH}    C:\\path\\to\\your\\canoe_config.cfg    # 替换为你的CANoe配置文件路径
${SIGNAL_NAME_1}    Signal1    # 替换为第一个信号名称
${SIGNAL_NAME_2}    Signal2    # 替换为第二个信号名称
${SIGNAL_NAME_3}    Signal3    # 替换为第三个信号名称
${SIGNAL_NAME_4}    Signal4    # 电源模式信号
${EXPECTED_SIGNAL_VALUE_1}    42    # 替换为第一个信号的预期值
${EXPECTED_SIGNAL_VALUE_2}    43    # 替换为第二个信号的预期值
${EXPECTED_SIGNAL_VALUE_3}    44    # 替换为第三个信号的预期值
${IMAGE_PATH_A}    path/to/image_a.png  # 正常进入AVM界面的原始图片存放位置
${IMAGE_PATH_C}    path/to/image_c.png  # 正常AVM界面的原始图片存放位置
${QUIT_360_DEVICE_AUDIO_PATH}    /sdcard/audio/file.mp3  #提前录制的语音退出AVM
${LANGUAGE}    chi_sim  # 可选语言代码，例如 'eng' 或 'chi_sim'

*** Test Cases ***
ID_130
        [Documentation]    利用CAN信号读取初始状态，如果满足，然后执行step1，如果不满足，则终止此轮测试
        ...                踩刹车（松开），长按SSB开关，并且拨动转向杆进入AVM， 检查电源模式信号， AVM界面第一次比图
        ...                踩刹车（松开），长按SSB开关，检查电源模式信号， AVM界面第二次比图
        ...                踩刹车（松开），长按SSB开关，检查电源模式信号， AVM界面第三次比图
        [Setup]    初始化CANoe    ${CANOE_CONFIG_PATH}
        启动 CANoe 应用程序
        Sleep    10s
        加载 CANoe 配置
        Sleep    10s
        启动 CANoe 测量
        Sleep    10s
        # 获取第一个信号的值
        ${signal_value_1}=    获取信号值    ${SIGNAL_NAME_1}
        Log    Signal ${SIGNAL_NAME_1} value: ${signal_value_1}
        Should Be Equal As Strings    ${signal_value_1}    ${EXPECTED_SIGNAL_VALUE_1}
        Sleep    10s
        # 获取第二个信号的值
        ${signal_value_2}=    获取信号值    ${SIGNAL_NAME_2}
        Log    Signal ${SIGNAL_NAME_2} value: ${signal_value_2}
        Should Be Equal As Strings    ${signal_value_2}    ${EXPECTED_SIGNAL_VALUE_2}
        Sleep    10s
        # 获取第三个信号的值
        ${signal_value_3}=    获取信号值    ${SIGNAL_NAME_3}
        Log    Signal ${SIGNAL_NAME_3} value: ${signal_value_3}
        Should Be Equal As Strings    ${signal_value_3}    ${EXPECTED_SIGNAL_VALUE_3}
        Sleep    10s
        # 如果所有信号值一致，点击方向盘上的多功能开关进入AVM，当前功能未实现

        刹车踏板控制

        长按SSB

        点击开关进入AVM

        #获取电源模式
        ${signal_value_4}=    获取信号值    ${SIGNAL_NAME_4}
        Log    Signal ${SIGNAL_NAME_4} value: ${signal_value_4}
        Sleep    10s

        # 比较两个图像
        [Documentation]    测试两张图片的相似性
        [Tags]    ImageComparison

        # 定义两张图片的路径
        ${image_path_b}    Set Variable    path/to/image_b.png

        # 调用关键字比较图像
        ${mse}    ${ssim}    比较图像    ${image_path_a}    ${image_path_b}

        # 打印结果
        Log    MSE: ${mse}, SSIM: ${ssim}

        刹车踏板控制

        长按SSB

        #获取电源模式
        ${signal_value_6}=    获取信号值    ${SIGNAL_NAME_4}
        Log    Signal ${SIGNAL_NAME_4} value: ${signal_value_6}
        Sleep    10s

        # 比较两个图像
        [Documentation]    测试两张图片的相似性
        [Tags]    ImageComparison

        # 定义两张图片的路径
        ${image_path_e}    Set Variable    path/to/image_e.png

        # 调用关键字比较图像
        ${mse}    ${ssim}    比较图像    ${image_path_c}    ${image_path_e}

        # 打印结果
        Log    MSE: ${mse}, SSIM: ${ssim}

        刹车踏板控制

        长按SSB

        #获取电源模式
        ${signal_value_5}=    获取信号值    ${SIGNAL_NAME_4}
        Log    Signal ${SIGNAL_NAME_4} value: ${signal_value_5}
        Sleep    10s

        # 比较两个图像
        [Documentation]    测试两张图片的相似性
        [Tags]    ImageComparison

        # 定义两张图片的路径
        ${image_path_d}    Set Variable    path/to/image_d.png

        # 调用关键字比较图像
        ${mse}    ${ssim}    比较图像    ${image_path_c}    ${image_path_d}

        # 打印结果
        Log    MSE: ${mse}, SSIM: ${ssim}
